package org.chen.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.chen.domain.dto.ArticleImportDTO;
import org.chen.domain.dto.ArticleQueryDTO;
import org.chen.domain.dto.ArticleUpdateDTO;
import org.chen.domain.entity.VideoArticle;
import org.chen.domain.response.PageResult;
import org.chen.domain.vo.*;

import java.util.List;

public interface ArticleService extends IService<VideoArticle> {
    /**
     * 导入文章数据
     */
    ImportResultVO importArticles(List<ArticleImportDTO.Article> articles, String categoryId);
    
    /**
     * 查询文章列表
     */
    PageResult<ArticleVO> getArticleList(ArticleQueryDTO query);
    
    /**
     * 获取文章详情
     */
    ArticleVO getArticleDetail(String id);
    
    /**
     * 更新文章状态
     */
    void updateArticleStatus(String id, Integer status);
    
    /**
     * 删除文章
     */
    void deleteArticle(String id);

    /**
     * 批量删除文章
     * @param ids
     */
    void batchDelete(List<String> ids);

    /**
     * 更新文章内容
     * @param updateDTO 更新内容
     */
    void updateArticle(ArticleUpdateDTO updateDTO);

    /**
     * 批量更新文章
     * @param articles 文章更新列表
     * @return 批量更新结果
     */
    BatchSaveResultVO batchUpdateArticles(List<ArticleUpdateDTO> articles);
}
